<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>

<script>

	//////////////////////////////////////////

	"use strict";

	/*var str = 'abc';

	function test() {
		console.log(str);
		var str = 'def';
		console.log(str);
	}

	test();*/

	/*var str = 'abc';

	function test() {
		console.log(str);
		var str = 'def';
	}

	test();*/

	/*function test() {
		var str = 'abc';
	}

	test();

	console.log(str);*/

	// 匿名自执行函数

	/*var undefined = 5;
	console.log(undefined);*/

	// !function(window, document, undefined) { // ~-+!

	// 	var a = 'abc';

	// 	function test() {
	// 		alert(99);
	// 	}

	// 	document.body;

	// 	var ddd = undefined;

	// 	if (ddd) {

	// 	}

	// 	console.log('init');

	// }(window, document);

	// console.log(a);

	// test();



	// var str = 'abc';

	// function test() {

	// 	console.log(str);

	// 	var str = 'def';

	// 	console.log(str);
	// }

	// test();

	// var color = 'green';

	// function outer() {

	// 	var color = 'red';

	// 	function inner() {

	// 		var color = 'blue';
	// 		console.log(color);

	// 	}

	// 	inner();

	// }

	// outer();


	// console.log(name2);
	// console.log(str);

	// var name2 = 'test';

	// function test() {

	// 	console.log(name2);

	// 	var str = 'abc';

	// 	console.log(str);

	// }

	// test();

	// console.log(str);

	// for (var i=0; i<10; i++) {
	// 	// 
	// }

	// console.log(i);

	// var a = 6;

	// if (a > 10) {
	// 	var str = 'abc';
	// }

	// console.log(str);

	///////////////////////////////////////////////////////////////////

    // 匿名自执行函数

    // !function() { // ! ~ + -

    //     var a = 9;
    //     console.log(a);

    // }();

    // var a = 100;



//    (function(t) {
//        console.log(t);
//    })('abc');

//    var t = 'abc';
//
//    function test() {
//        console.log(t);
//        var t = 'def';
//        console.log(t);
//    }
//
//    test();

    // js没有块级作用域

//    if (5 > 3) {
//        var a = 'aaa';
//    }
//
//    console.log(a);

    // js有函数作用域

//    function test() {
//        var a = 'aaa';
//        console.log(a);
//    }
//
//    test();
//
//    console.log(a);

//    var color = 'red';
//
//    function outer() {
//
//        var color = 'blue';
//
//        // console.log(color);
//
//        function inner() {
//            //var color = 'green';
//            console.log(color);
//        }
//
//        inner();
//
//    }
//
//    // inner();
//    outer();

    // console.log(color);

    ////////////////////////////////////////////////////

	// 匿名自执行函数
	/*(function(a) {

		console.log(a);

	})(555);*/

//	!function() {
//
//		console.log('abc');
//
//	}();

	/*function init() {

	}

	init();*/


	/*var a = "abc";

	function test() {

		console.log(a); // abc

		var a = "def"; // def

		console.log(a);

	}

	test();*/

	/*var a = "abc";

	function test() {
		console.log(a);
	}

	test();*/

	/*function test() {

		console.log(a);

		var a = 'abc';

		console.log(a);
	}

	test();

	console.log(a);*/

/*	for (var i=0; i<10; i++) {
		console.log(i);
	}

	console.log(i);*/

	/*var a = "";

	if (a) {
		var b = 'def';
	}

	console.log(b);*/

	// var test = "abc";

	/////////////////////////////////////////////////////////////////

	// function test() {
	// 	var a = 'abc';
	// 	return function() {
	// 		console.log(a);
	// 	}
	// }

	// var r = test();
	// r();

	// console.log(a);

	/*var A;

	function test() {
		var a = 'abc';
		A = a;
	}

	test();

	console.log(A);*/

	/*for (var i=0; i<10; i++) {
		console.log(i);
	}

	console.log(i);*/

	/*var t = 'test';

	function abc() {

		var t = 'abc';
		
		console.log(t);

		console.log(t);
	}

	abc();*/

	/*var t = 'test';

	function a1() {

		// var t = 'abc';

		function a2() {
			// var t = 'def';

			console.log(t);
		}

		a2();
	}

	a1();*/

	/*var t = 'test';

	function abc() {
		console.log(t);
	}

	abc();*/

	/*function test() {
		var a = 'abc';

		console.log(a);
	}

	test();

	console.log(a);
*/
	/*var a = 5;

	if (a > 8) {
		var b = 'test';
	}

	console.log(b);*/

	// var a = 'abc';

	/*var a = 'abc';
	console.log(a);*/

	/*var a = 8;

	if (a > 10) {
		var b = 'abc';
	}

	console.log(b);*/

	// console.log(b);

	/*for (var i=0; i<10; i++) {

	}

	console.log(i);*/

	/*function test() {

		var a = 'abc';
		console.log(a);


	}

	test();

	console.log(a);*/

	// var color = 'red';

	/*function outer() {
		// color = 'blue';

		function inner() {
			// color = 'green';
			console.log(color);
		}

		inner();

	}

	outer();*/

	/*var t = 'abc';

	function test() {

		alert(t);
		var t = 'def';
		alert(t);

	}

	test();*/

	// console.log(test);

</script>
	
</body>
</html>